Autogenerated HTML docs for v2.27.0-343-g4a0fcf
diff --git a/MyFirstContribution.html b/MyFirstContribution.html index 0419002..c9c6eea 100644 --- a/MyFirstContribution.html +++ b/MyFirstContribution.html
@@ -1861,8 +1861,8 @@ </div> <div class="sect2"> <h3 id="after-approval">After Review Approval</h3> -<div class="paragraph"><p>The Git project has four integration branches: <code>pu</code>, <code>next</code>, <code>master</code>, and -<code>maint</code>. Your change will be placed into <code>pu</code> fairly early on by the maintainer +<div class="paragraph"><p>The Git project has four integration branches: <code>seen</code>, <code>next</code>, <code>master</code>, and +<code>maint</code>. Your change will be placed into <code>seen</code> fairly early on by the maintainer while it is still in the review process; from there, when it is ready for wider testing, it will be merged into <code>next</code>. Plenty of early testers use <code>next</code> and may report issues. Eventually, changes in <code>next</code> will make it to <code>master</code>, @@ -1899,7 +1899,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/MyFirstContribution.txt b/MyFirstContribution.txt index 427274d..d85c9b5 100644 --- a/MyFirstContribution.txt +++ b/MyFirstContribution.txt
@@ -1179,8 +1179,8 @@ [[after-approval]] === After Review Approval -The Git project has four integration branches: `pu`, `next`, `master`, and -`maint`. Your change will be placed into `pu` fairly early on by the maintainer +The Git project has four integration branches: `seen`, `next`, `master`, and +`maint`. Your change will be placed into `seen` fairly early on by the maintainer while it is still in the review process; from there, when it is ready for wider testing, it will be merged into `next`. Plenty of early testers use `next` and may report issues. Eventually, changes in `next` will make it to `master`,
diff --git a/RelNotes/2.28.0.txt b/RelNotes/2.28.0.txt index 02e150e..94ddbd9 100644 --- a/RelNotes/2.28.0.txt +++ b/RelNotes/2.28.0.txt
@@ -41,6 +41,14 @@ * "git diff-files" has been taught to say paths that are marked as intent-to-add are new files, not modified from an empty blob. + * "git status" learned to report the status of sparse checkout. + + * "git difftool" has trouble dealing with paths added to the index + with the intent-to-add bit. + + * "git fast-export --anonymize" learned to take customized mapping to + allow its users to tweak its output more usable for debugging. + Performance, Internal Implementation, Development Support etc. @@ -90,6 +98,22 @@ * A misdesigned strbuf_write_fd() function has been retired. + * SHA-256 migration work continues, including CVS/SVN interface. + + * A few fields in "struct commit" that do not have to always be + present have been moved to commit slabs. + + * API cleanup for get_worktrees() + + * By renumbering object flag bits, "struct object" managed to lose + bloated inter-field padding. + + * The name of the primary branch in existing repositories, and the + default name used for the first branch in newly created + repositories, is made configurable, so that we can eventually wean + ourselves off of the hardcoded 'master'. + + * The effort to avoid using test_must_fail on non-git command continues. Fixes since v2.27 @@ -158,6 +182,15 @@ * An in-code comment in "git diff" has been updated. (merge c592fd4c83 dl/diff-usage-comment-update later to maint). + * The documentation and some tests have been adjusted for the recent + renaming of "pu" branch to "seen". + (merge 6dca5dbf93 js/pu-to-seen later to maint). + + * The code to push changes over "dumb" HTTP had a bad interaction + with the commit reachability code due to incorrect allocation of + object flag bits, which has been corrected. + (merge 64472d15e9 bc/http-push-flagsfix later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 2c31a7aa44 jx/pkt-line-doc-count-fix later to maint). (merge d63ae31962 cb/t5608-cleanup later to maint). @@ -166,3 +199,5 @@ (merge b75a219904 es/advertise-contribution-doc later to maint). (merge 0c9a4f638a rs/pull-leakfix later to maint). (merge d546fe2874 rs/commit-reach-leakfix later to maint). + (merge 087bf5409c mk/pb-pretty-email-without-domain-part-fix later to maint). + (merge 5f4ee57ad9 es/worktree-code-cleanup later to maint).
diff --git a/SubmittingPatches.html b/SubmittingPatches.html index d95e34a..eaefe53 100644 --- a/SubmittingPatches.html +++ b/SubmittingPatches.html
@@ -759,7 +759,7 @@ <li> <p> A new feature should be based on <code>master</code> in general. If the new - feature depends on a topic that is in <code>pu</code>, but not in <code>master</code>, + feature depends on a topic that is in <code>seen</code>, but not in <code>master</code>, base your work on the tip of that topic. </p> </li> @@ -774,7 +774,7 @@ <li> <p> In the exceptional case that a new feature depends on several topics - not in <code>master</code>, start working on <code>next</code> or <code>pu</code> privately and send + not in <code>master</code>, start working on <code>next</code> or <code>seen</code> privately and send out patches for discussion. Before the final merge, you may have to wait until some of the dependent topics graduate to <code>master</code>, and rebase your work. @@ -789,7 +789,7 @@ </li> </ul></div> <div class="paragraph"><p>To find the tip of a topic branch, run <code>git log --first-parent -master..pu</code> and look for the merge commit. The second parent of this +master..seen</code> and look for the merge commit. The second parent of this commit is the tip of the topic branch.</p></div> </div> <div class="sect2"> @@ -1209,7 +1209,7 @@ </li> </ol></div> <div class="paragraph"><p>In any time between the (2)-(3) cycle, the maintainer may pick it up -from the list and queue it to <code>pu</code>, in order to make it easier for +from the list and queue it to <code>seen</code>, in order to make it easier for people play with it without having to pick up and apply the patch to their trees themselves.</p></div> </div> @@ -1224,7 +1224,7 @@ master. <code>git pull --rebase</code> will automatically skip already-applied patches, and will let you know. This works only if you rebase on top of the branch in which your patch has been merged (i.e. it will not - tell you if your patch is merged in pu if you rebase on top of + tell you if your patch is merged in <code>seen</code> if you rebase on top of master). </p> </li> @@ -1389,7 +1389,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-17 23:16:11 PDT + 2020-07-06 22:33:23 PDT </div> </div> </body>
diff --git a/SubmittingPatches.txt b/SubmittingPatches.txt index ecf9438..291b61e 100644 --- a/SubmittingPatches.txt +++ b/SubmittingPatches.txt
@@ -19,7 +19,7 @@ base your work on the tip of the topic. * A new feature should be based on `master` in general. If the new - feature depends on a topic that is in `pu`, but not in `master`, + feature depends on a topic that is in `seen`, but not in `master`, base your work on the tip of that topic. * Corrections and enhancements to a topic not yet in `master` should @@ -28,7 +28,7 @@ into the series. * In the exceptional case that a new feature depends on several topics - not in `master`, start working on `next` or `pu` privately and send + not in `master`, start working on `next` or `seen` privately and send out patches for discussion. Before the final merge, you may have to wait until some of the dependent topics graduate to `master`, and rebase your work. @@ -38,7 +38,7 @@ these parts should be based on their trees. To find the tip of a topic branch, run `git log --first-parent -master..pu` and look for the merge commit. The second parent of this +master..seen` and look for the merge commit. The second parent of this commit is the tip of the topic branch. [[separate-commits]] @@ -424,7 +424,7 @@ and cooked further and eventually graduates to `master`. In any time between the (2)-(3) cycle, the maintainer may pick it up -from the list and queue it to `pu`, in order to make it easier for +from the list and queue it to `seen`, in order to make it easier for people play with it without having to pick up and apply the patch to their trees themselves. @@ -435,7 +435,7 @@ master. `git pull --rebase` will automatically skip already-applied patches, and will let you know. This works only if you rebase on top of the branch in which your patch has been merged (i.e. it will not - tell you if your patch is merged in pu if you rebase on top of + tell you if your patch is merged in `seen` if you rebase on top of master). * Read the Git mailing list, the maintainer regularly posts messages
diff --git a/git-branch.html b/git-branch.html index 92e74cd..645c82b 100644 --- a/git-branch.html +++ b/git-branch.html
@@ -753,7 +753,7 @@ [-v [--abbrev=<length> | --no-abbrev]] [--column[=<options>] | --no-column] [--sort=<key>] [(--merged | --no-merged) [<commit>]] - [--contains [<commit]] [--no-contains [<commit>]] + [--contains [<commit>]] [--no-contains [<commit>]] [--points-at <object>] [--format=<format>] [(-r | --remotes) | (-a | --all)] [--list] [<pattern>…] @@ -1391,7 +1391,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-branch.txt b/git-branch.txt index 135206f..03c0824 100644 --- a/git-branch.txt +++ b/git-branch.txt
@@ -12,7 +12,7 @@ [-v [--abbrev=<length> | --no-abbrev]] [--column[=<options>] | --no-column] [--sort=<key>] [(--merged | --no-merged) [<commit>]] - [--contains [<commit]] [--no-contains [<commit>]] + [--contains [<commit>]] [--no-contains [<commit>]] [--points-at <object>] [--format=<format>] [(-r | --remotes) | (-a | --all)] [--list] [<pattern>...]
diff --git a/git-clone.html b/git-clone.html index 5111e94..bf9ed80 100644 --- a/git-clone.html +++ b/git-clone.html
@@ -1134,7 +1134,7 @@ branch of some repository for search indexing.</p></div> </dd> <dt class="hdlist1"> ---recurse-submodules[=<pathspec] +--recurse-submodules[=<pathspec>] </dt> <dd> <p> @@ -1416,7 +1416,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-04-22 14:37:28 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-clone.txt b/git-clone.txt index 08d6045..c898310 100644 --- a/git-clone.txt +++ b/git-clone.txt
@@ -259,7 +259,7 @@ branch. This is useful e.g. to maintain minimal clones of the default branch of some repository for search indexing. ---recurse-submodules[=<pathspec]:: +--recurse-submodules[=<pathspec>]:: After the clone is created, initialize and clone submodules within based on the provided pathspec. If no pathspec is provided, all submodules are initialized and cloned.
diff --git a/git-config.html b/git-config.html index c5a4bbd..bb7eef2 100644 --- a/git-config.html +++ b/git-config.html
@@ -6682,6 +6682,15 @@ </p> </dd> <dt class="hdlist1"> +init.defaultBranch +</dt> +<dd> +<p> + Allows overriding the default branch name e.g. when initializing + a new repository or when cloning an empty repository. +</p> +</dd> +<dt class="hdlist1"> instaweb.browser </dt> <dd>
diff --git a/git-diff-tree.html b/git-diff-tree.html index 945c73c..7a7b171 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html
@@ -2840,7 +2840,7 @@ </dt> <dd> <p> -author email local-part (the part before the <em>@</em> sign) +committer email local-part (the part before the <em>@</em> sign) </p> </dd> <dt class="hdlist1"> @@ -2848,7 +2848,7 @@ </dt> <dd> <p> -author local-part (see <em>%cl</em>) respecting .mailmap, see +committer local-part (see <em>%cl</em>) respecting .mailmap, see <a href="git-shortlog.html">git-shortlog(1)</a> or <a href="git-blame.html">git-blame(1)</a>) </p> </dd>
diff --git a/git-fast-export.html b/git-fast-export.html index 23e6dff..b7fb786 100644 --- a/git-fast-export.html +++ b/git-fast-export.html
@@ -924,6 +924,16 @@ </p> </dd> <dt class="hdlist1"> +--anonymize-map=<from>[:<to>] +</dt> +<dd> +<p> + Convert token <code><from></code> to <code><to></code> in the anonymized output. If + <code><to></code> is omitted, map <code><from></code> to itself (i.e., do not + anonymize it). See the section on <code>ANONYMIZING</code> below. +</p> +</dd> +<dt class="hdlist1"> --reference-excluded-parents </dt> <dd> @@ -1062,6 +1072,27 @@ collapse "User 0", "User 1", etc into "User X"). This produces a much smaller output, and it is usually easy to quickly confirm that there is no private data in the stream.</p></div> +<div class="paragraph"><p>Reproducing some bugs may require referencing particular commits or +paths, which becomes challenging after refnames and paths have been +anonymized. You can ask for a particular token to be left as-is or +mapped to a new value. For example, if you have a bug which reproduces +with <code>git rev-list sensitive -- secret.c</code>, you can run:</p></div> +<div class="listingblock"> +<div class="content"> +<pre><code>$ git fast-export --anonymize --all \ + --anonymize-map=sensitive:foo \ + --anonymize-map=secret.c:bar.c \ + >stream</code></pre> +</div></div> +<div class="paragraph"><p>After importing the stream, you can then run <code>git rev-list foo -- bar.c</code> +in the anonymized repository.</p></div> +<div class="paragraph"><p>Note that paths and refnames are split into tokens at slash boundaries. +The command above would anonymize <code>subdir/secret.c</code> as something like +<code>path123/bar.c</code>; you could then search for <code>bar.c</code> in the anonymized +repository to determine the final pathname.</p></div> +<div class="paragraph"><p>To make referencing the final pathname simpler, you can map each path +component; so if you also anonymize <code>subdir</code> to <code>publicdir</code>, then the +final pathname would be <code>publicdir/bar.c</code>.</p></div> </div> </div> <div class="sect1"> @@ -1089,7 +1120,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-fast-export.txt b/git-fast-export.txt index e8950de..1978dbd 100644 --- a/git-fast-export.txt +++ b/git-fast-export.txt
@@ -119,6 +119,11 @@ the shape of the history and stored tree. See the section on `ANONYMIZING` below. +--anonymize-map=<from>[:<to>]:: + Convert token `<from>` to `<to>` in the anonymized output. If + `<to>` is omitted, map `<from>` to itself (i.e., do not + anonymize it). See the section on `ANONYMIZING` below. + --reference-excluded-parents:: By default, running a command such as `git fast-export master~5..master` will not include the commit master{tilde}5 @@ -238,6 +243,30 @@ smaller output, and it is usually easy to quickly confirm that there is no private data in the stream. +Reproducing some bugs may require referencing particular commits or +paths, which becomes challenging after refnames and paths have been +anonymized. You can ask for a particular token to be left as-is or +mapped to a new value. For example, if you have a bug which reproduces +with `git rev-list sensitive -- secret.c`, you can run: + +--------------------------------------------------- +$ git fast-export --anonymize --all \ + --anonymize-map=sensitive:foo \ + --anonymize-map=secret.c:bar.c \ + >stream +--------------------------------------------------- + +After importing the stream, you can then run `git rev-list foo -- bar.c` +in the anonymized repository. + +Note that paths and refnames are split into tokens at slash boundaries. +The command above would anonymize `subdir/secret.c` as something like +`path123/bar.c`; you could then search for `bar.c` in the anonymized +repository to determine the final pathname. + +To make referencing the final pathname simpler, you can map each path +component; so if you also anonymize `subdir` to `publicdir`, then the +final pathname would be `publicdir/bar.c`. LIMITATIONS -----------
diff --git a/git-fetch.html b/git-fetch.html index 9c220c7..b3e0a9e 100644 --- a/git-fetch.html +++ b/git-fetch.html
@@ -1834,12 +1834,12 @@ </p> <div class="listingblock"> <div class="content"> -<pre><code>$ git fetch origin +pu:pu maint:tmp</code></pre> +<pre><code>$ git fetch origin +seen:seen maint:tmp</code></pre> </div></div> -<div class="paragraph"><p>This updates (or creates, as necessary) branches <code>pu</code> and <code>tmp</code> in +<div class="paragraph"><p>This updates (or creates, as necessary) branches <code>seen</code> and <code>tmp</code> in the local repository by fetching from the branches (respectively) -<code>pu</code> and <code>maint</code> from the remote repository.</p></div> -<div class="paragraph"><p>The <code>pu</code> branch will be updated even if it does not fast-forward, +<code>seen</code> and <code>maint</code> from the remote repository.</p></div> +<div class="paragraph"><p>The <code>seen</code> branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; <code>tmp</code> will not be.</p></div> </li> <li> @@ -1929,7 +1929,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-fetch.txt b/git-fetch.txt index 5b1909f..45b6d8e 100644 --- a/git-fetch.txt +++ b/git-fetch.txt
@@ -255,14 +255,14 @@ * Using refspecs explicitly: + ------------------------------------------------ -$ git fetch origin +pu:pu maint:tmp +$ git fetch origin +seen:seen maint:tmp ------------------------------------------------ + -This updates (or creates, as necessary) branches `pu` and `tmp` in +This updates (or creates, as necessary) branches `seen` and `tmp` in the local repository by fetching from the branches (respectively) -`pu` and `maint` from the remote repository. +`seen` and `maint` from the remote repository. + -The `pu` branch will be updated even if it does not fast-forward, +The `seen` branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; `tmp` will not be. * Peek at a remote's branch, without configuring the remote in your local
diff --git a/git-index-pack.html b/git-index-pack.html index 7d0f200..ca7f26b 100644 --- a/git-index-pack.html +++ b/git-index-pack.html
@@ -898,6 +898,18 @@ Die, if the pack is larger than <size>. </p> </dd> +<dt class="hdlist1"> +--object-format=<hash-algorithm> +</dt> +<dd> +<p> + Specify the given object format (hash algorithm) for the pack. The valid + values are <em>sha1</em> and (if enabled) <em>sha256</em>. The default is the algorithm for + the current repository (set by <code>extensions.objectFormat</code>), or <em>sha1</em> if no + value is set or outside a repository. +</p> +<div class="paragraph"><p>This option cannot be used with --stdin.</p></div> +</dd> </dl></div> </div> </div> @@ -923,7 +935,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-index-pack.txt b/git-index-pack.txt index d5b7560..9316d9a 100644 --- a/git-index-pack.txt +++ b/git-index-pack.txt
@@ -93,6 +93,14 @@ --max-input-size=<size>:: Die, if the pack is larger than <size>. +--object-format=<hash-algorithm>:: + Specify the given object format (hash algorithm) for the pack. The valid + values are 'sha1' and (if enabled) 'sha256'. The default is the algorithm for + the current repository (set by `extensions.objectFormat`), or 'sha1' if no + value is set or outside a repository. ++ +This option cannot be used with --stdin. + NOTES -----
diff --git a/git-init.html b/git-init.html index 26e0604..21f8bae 100644 --- a/git-init.html +++ b/git-init.html
@@ -750,7 +750,8 @@ <div class="sectionbody"> <div class="verseblock"> <pre class="content"><em>git init</em> [-q | --quiet] [--bare] [--template=<template_directory>] - [--separate-git-dir <git dir>] [--object-format=<format] + [--separate-git-dir <git dir>] [--object-format=<format>] + [-b <branch-name> | --initial-branch=<branch-name>] [--shared[=<permissions>]] [directory]</pre> <div class="attribution"> </div></div> @@ -830,6 +831,18 @@ <div class="paragraph"><p>If this is reinitialization, the repository will be moved to the specified path.</p></div> </dd> <dt class="hdlist1"> +-b <branch-name +</dt> +<dt class="hdlist1"> +--initial-branch=<branch-name> +</dt> +<dd> +<p> +Use the specified name for the initial branch in the newly created repository. +If not specified, fall back to the default name: <code>master</code>. +</p> +</dd> +<dt class="hdlist1"> --shared[=(false|true|umask|group|all|world|everybody|0xxx)] </dt> <dd> @@ -981,7 +994,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-26 18:10:39 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-init.txt b/git-init.txt index adc6adf..ddfe265 100644 --- a/git-init.txt +++ b/git-init.txt
@@ -10,7 +10,8 @@ -------- [verse] 'git init' [-q | --quiet] [--bare] [--template=<template_directory>] - [--separate-git-dir <git dir>] [--object-format=<format] + [--separate-git-dir <git dir>] [--object-format=<format>] + [-b <branch-name> | --initial-branch=<branch-name>] [--shared[=<permissions>]] [directory] @@ -67,6 +68,12 @@ + If this is reinitialization, the repository will be moved to the specified path. +-b <branch-name:: +--initial-branch=<branch-name>:: + +Use the specified name for the initial branch in the newly created repository. +If not specified, fall back to the default name: `master`. + --shared[=(false|true|umask|group|all|world|everybody|0xxx)]:: Specify that the Git repository is to be shared amongst several users. This
diff --git a/git-log.html b/git-log.html index db5ab68..03d2610 100644 --- a/git-log.html +++ b/git-log.html
@@ -2970,7 +2970,7 @@ </dt> <dd> <p> -author email local-part (the part before the <em>@</em> sign) +committer email local-part (the part before the <em>@</em> sign) </p> </dd> <dt class="hdlist1"> @@ -2978,7 +2978,7 @@ </dt> <dd> <p> -author local-part (see <em>%cl</em>) respecting .mailmap, see +committer local-part (see <em>%cl</em>) respecting .mailmap, see <a href="git-shortlog.html">git-shortlog(1)</a> or <a href="git-blame.html">git-blame(1)</a>) </p> </dd>
diff --git a/git-ls-remote.html b/git-ls-remote.html index bb29959..a8095f3 100644 --- a/git-ls-remote.html +++ b/git-ls-remote.html
@@ -916,9 +916,9 @@ 7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3 c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2 0918385dbd9656cab0d1d81ba7453d49bbc16250 refs/tags/junio-gpg-pub -$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc +$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc 5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master -c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/pu +c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/seen $ git remote add korg http://www.kernel.org/pub/scm/git/git.git $ git ls-remote --tags korg v\* d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99 @@ -945,7 +945,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-11 14:26:57 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-ls-remote.txt b/git-ls-remote.txt index 0a5c8b7..492e573 100644 --- a/git-ls-remote.txt +++ b/git-ls-remote.txt
@@ -101,9 +101,9 @@ 7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3 c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2 0918385dbd9656cab0d1d81ba7453d49bbc16250 refs/tags/junio-gpg-pub -$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master pu rc +$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc 5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master -c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/pu +c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/seen $ git remote add korg http://www.kernel.org/pub/scm/git/git.git $ git ls-remote --tags korg v\* d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99
diff --git a/git-rev-list.html b/git-rev-list.html index cda5d43..ee38ad9 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -3015,7 +3015,7 @@ </dt> <dd> <p> -author email local-part (the part before the <em>@</em> sign) +committer email local-part (the part before the <em>@</em> sign) </p> </dd> <dt class="hdlist1"> @@ -3023,7 +3023,7 @@ </dt> <dd> <p> -author local-part (see <em>%cl</em>) respecting .mailmap, see +committer local-part (see <em>%cl</em>) respecting .mailmap, see <a href="git-shortlog.html">git-shortlog(1)</a> or <a href="git-blame.html">git-blame(1)</a>) </p> </dd>
diff --git a/git-show-index.html b/git-show-index.html index 6e77936..44fb7d9 100644 --- a/git-show-index.html +++ b/git-show-index.html
@@ -749,7 +749,7 @@ <h2 id="_synopsis">SYNOPSIS</h2> <div class="sectionbody"> <div class="verseblock"> -<pre class="content"><em>git show-index</em></pre> +<pre class="content"><em>git show-index</em> [--object-format=<hash-algorithm>]</pre> <div class="attribution"> </div></div> </div> @@ -790,6 +790,24 @@ </div> </div> <div class="sect1"> +<h2 id="_options">OPTIONS</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +--object-format=<hash-algorithm> +</dt> +<dd> +<p> + Specify the given object format (hash algorithm) for the index file. The + valid values are <em>sha1</em> and (if enabled) <em>sha256</em>. The default is the + algorithm for the current repository (set by <code>extensions.objectFormat</code>), or + <em>sha1</em> if no value is set or outside a repository.. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> <h2 id="_git">GIT</h2> <div class="sectionbody"> <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div> @@ -800,7 +818,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-show-index.txt b/git-show-index.txt index 424e4ba..39b1d8e 100644 --- a/git-show-index.txt +++ b/git-show-index.txt
@@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] -'git show-index' +'git show-index' [--object-format=<hash-algorithm>] DESCRIPTION @@ -36,6 +36,15 @@ linkgit:git-verify-pack[1]. However, as this command considers only the index file itself, it's both faster and more flexible. +OPTIONS +------- + +--object-format=<hash-algorithm>:: + Specify the given object format (hash algorithm) for the index file. The + valid values are 'sha1' and (if enabled) 'sha256'. The default is the + algorithm for the current repository (set by `extensions.objectFormat`), or + 'sha1' if no value is set or outside a repository.. + GIT --- Part of the linkgit:git[1] suite
diff --git a/git-show.html b/git-show.html index 45fe0cd..1bd8b06 100644 --- a/git-show.html +++ b/git-show.html
@@ -1466,7 +1466,7 @@ </dt> <dd> <p> -author email local-part (the part before the <em>@</em> sign) +committer email local-part (the part before the <em>@</em> sign) </p> </dd> <dt class="hdlist1"> @@ -1474,7 +1474,7 @@ </dt> <dd> <p> -author local-part (see <em>%cl</em>) respecting .mailmap, see +committer local-part (see <em>%cl</em>) respecting .mailmap, see <a href="git-shortlog.html">git-shortlog(1)</a> or <a href="git-blame.html">git-blame(1)</a>) </p> </dd>
diff --git a/git-submodule.html b/git-submodule.html index 8e36340..ed57d95 100644 --- a/git-submodule.html +++ b/git-submodule.html
@@ -974,7 +974,7 @@ Sets the default remote tracking branch for the submodule. The <code>--branch</code> option allows the remote branch to be specified. The <code>--default</code> option removes the submodule.<name>.branch configuration - key, which causes the tracking branch to default to <em>master</em>. + key, which causes the tracking branch to default to the remote <em>HEAD</em>. </p> </dd> <dt class="hdlist1"> @@ -1123,7 +1123,7 @@ <code>.gitmodules</code> for <code>update --remote</code>. A special value of <code>.</code> is used to indicate that the name of the branch in the submodule should be the same name as the current branch in the current repository. If the - option is not specified, it defaults to <em>master</em>. + option is not specified, it defaults to the remote <em>HEAD</em>. </p> </dd> <dt class="hdlist1"> @@ -1190,10 +1190,10 @@ the superproject’s recorded SHA-1 to update the submodule, use the status of the submodule’s remote-tracking branch. The remote used is branch’s remote (<code>branch.<name>.remote</code>), defaulting to <code>origin</code>. - The remote branch used defaults to <code>master</code>, but the branch name may - be overridden by setting the <code>submodule.<name>.branch</code> option in - either <code>.gitmodules</code> or <code>.git/config</code> (with <code>.git/config</code> taking - precedence). + The remote branch used defaults to the remote <code>HEAD</code>, but the branch + name may be overridden by setting the <code>submodule.<name>.branch</code> + option in either <code>.gitmodules</code> or <code>.git/config</code> (with <code>.git/config</code> + taking precedence). </p> <div class="paragraph"><p>This works for any of the supported update procedures (<code>--checkout</code>, <code>--rebase</code>, etc.). The only change is the source of the target SHA-1. @@ -1407,7 +1407,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/git-submodule.txt b/git-submodule.txt index c9ed2bf..7e5f995 100644 --- a/git-submodule.txt +++ b/git-submodule.txt
@@ -183,7 +183,7 @@ Sets the default remote tracking branch for the submodule. The `--branch` option allows the remote branch to be specified. The `--default` option removes the submodule.<name>.branch configuration - key, which causes the tracking branch to default to 'master'. + key, which causes the tracking branch to default to the remote 'HEAD'. set-url [--] <path> <newurl>:: Sets the URL of the specified submodule to <newurl>. Then, it will @@ -284,7 +284,7 @@ `.gitmodules` for `update --remote`. A special value of `.` is used to indicate that the name of the branch in the submodule should be the same name as the current branch in the current repository. If the - option is not specified, it defaults to 'master'. + option is not specified, it defaults to the remote 'HEAD'. -f:: --force:: @@ -322,10 +322,10 @@ the superproject's recorded SHA-1 to update the submodule, use the status of the submodule's remote-tracking branch. The remote used is branch's remote (`branch.<name>.remote`), defaulting to `origin`. - The remote branch used defaults to `master`, but the branch name may - be overridden by setting the `submodule.<name>.branch` option in - either `.gitmodules` or `.git/config` (with `.git/config` taking - precedence). + The remote branch used defaults to the remote `HEAD`, but the branch + name may be overridden by setting the `submodule.<name>.branch` + option in either `.gitmodules` or `.git/config` (with `.git/config` + taking precedence). + This works for any of the supported update procedures (`--checkout`, `--rebase`, etc.). The only change is the source of the target SHA-1.
diff --git a/giteveryday.html b/giteveryday.html index d4f04c8..3f4a5f8 100644 --- a/giteveryday.html +++ b/giteveryday.html
@@ -1247,13 +1247,13 @@ $ compile/test $ git switch -c hold/linus && git am -3 -i -s ./+hold-linus <b><5></b> $ git switch topic/one && git rebase master <b><6></b> -$ git switch -C pu next <b><7></b> +$ git switch -C seen next <b><7></b> $ git merge topic/one topic/two && git merge hold/linus <b><8></b> $ git switch maint $ git cherry-pick master~4 <b><9></b> $ compile/test $ git tag -s -m "GIT 0.99.9x" v0.99.9x <b><10></b> -$ git fetch ko && for branch in master maint next pu <b><11></b> +$ git fetch ko && for branch in master maint next seen <b><11></b> do git show-branch ko/$branch $branch <b><12></b> done @@ -1269,7 +1269,7 @@ <p> see which branches haven’t been merged into <code>master</code> yet. Likewise for any other integration branches e.g. <code>maint</code>, <code>next</code> -and <code>pu</code> (potential updates). +and <code>seen</code>. </p> </li> <li> @@ -1296,7 +1296,7 @@ </li> <li> <p> -restart <code>pu</code> every time from the next. +restart <code>seen</code> every time from the next. </p> </li> <li> @@ -1346,7 +1346,7 @@ fetch = refs/heads/*:refs/remotes/ko/* push = refs/heads/master push = refs/heads/next - push = +refs/heads/pu + push = +refs/heads/seen push = refs/heads/maint</code></pre> </div></div> </div> @@ -1546,7 +1546,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/giteveryday.txt b/giteveryday.txt index 1bd919f..faba2ef 100644 --- a/giteveryday.txt +++ b/giteveryday.txt
@@ -278,13 +278,13 @@ $ compile/test $ git switch -c hold/linus && git am -3 -i -s ./+hold-linus <5> $ git switch topic/one && git rebase master <6> -$ git switch -C pu next <7> +$ git switch -C seen next <7> $ git merge topic/one topic/two && git merge hold/linus <8> $ git switch maint $ git cherry-pick master~4 <9> $ compile/test $ git tag -s -m "GIT 0.99.9x" v0.99.9x <10> -$ git fetch ko && for branch in master maint next pu <11> +$ git fetch ko && for branch in master maint next seen <11> do git show-branch ko/$branch $branch <12> done @@ -294,14 +294,14 @@ <1> see what you were in the middle of doing, if anything. <2> see which branches haven't been merged into `master` yet. Likewise for any other integration branches e.g. `maint`, `next` -and `pu` (potential updates). +and `seen`. <3> read mails, save ones that are applicable, and save others that are not quite ready (other mail readers are available). <4> apply them, interactively, with your sign-offs. <5> create topic branch as needed and apply, again with sign-offs. <6> rebase internal topic branch that has not been merged to the master or exposed as a part of a stable branch. -<7> restart `pu` every time from the next. +<7> restart `seen` every time from the next. <8> and bundle topic branches still cooking. <9> backport a critical fix. <10> create a signed tag. @@ -323,7 +323,7 @@ fetch = refs/heads/*:refs/remotes/ko/* push = refs/heads/master push = refs/heads/next - push = +refs/heads/pu + push = +refs/heads/seen push = refs/heads/maint ------------
diff --git a/githooks.html b/githooks.html index 96d3b21..ac6ab6c 100644 --- a/githooks.html +++ b/githooks.html
@@ -1091,6 +1091,44 @@ for the user.</p></div> </div> <div class="sect2"> +<h3 id="_ref_transaction">ref-transaction</h3> +<div class="paragraph"><p>This hook is invoked by any Git command that performs reference +updates. It executes whenever a reference transaction is prepared, +committed or aborted and may thus get called multiple times.</p></div> +<div class="paragraph"><p>The hook takes exactly one argument, which is the current state the +given reference transaction is in:</p></div> +<div class="ulist"><ul> +<li> +<p> +"prepared": All reference updates have been queued to the + transaction and references were locked on disk. +</p> +</li> +<li> +<p> +"committed": The reference transaction was committed and all + references now have their respective new value. +</p> +</li> +<li> +<p> +"aborted": The reference transaction was aborted, no changes + were performed and the locks have been released. +</p> +</li> +</ul></div> +<div class="paragraph"><p>For each reference update that was added to the transaction, the hook +receives on standard input a line of the format:</p></div> +<div class="literalblock"> +<div class="content"> +<pre><code><old-value> SP <new-value> SP <ref-name> LF</code></pre> +</div></div> +<div class="paragraph"><p>The exit status of the hook is ignored for any state except for the +"prepared" state. In the "prepared" state, a non-zero exit status will +cause the transaction to be aborted. The hook will not be called with +"aborted" state in that case.</p></div> +</div> +<div class="sect2"> <h3 id="_push_to_checkout">push-to-checkout</h3> <div class="paragraph"><p>This hook is invoked by <a href="git-receive-pack.html">git-receive-pack(1)</a> when it reacts to <code>git push</code> and updates reference(s) in its repository, and when @@ -1266,7 +1304,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-04-22 14:37:28 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/githooks.txt b/githooks.txt index 81f2a87..6424711 100644 --- a/githooks.txt +++ b/githooks.txt
@@ -404,6 +404,35 @@ `git send-pack` on the other end, so you can simply `echo` messages for the user. +ref-transaction +~~~~~~~~~~~~~~~ + +This hook is invoked by any Git command that performs reference +updates. It executes whenever a reference transaction is prepared, +committed or aborted and may thus get called multiple times. + +The hook takes exactly one argument, which is the current state the +given reference transaction is in: + + - "prepared": All reference updates have been queued to the + transaction and references were locked on disk. + + - "committed": The reference transaction was committed and all + references now have their respective new value. + + - "aborted": The reference transaction was aborted, no changes + were performed and the locks have been released. + +For each reference update that was added to the transaction, the hook +receives on standard input a line of the format: + + <old-value> SP <new-value> SP <ref-name> LF + +The exit status of the hook is ignored for any state except for the +"prepared" state. In the "prepared" state, a non-zero exit status will +cause the transaction to be aborted. The hook will not be called with +"aborted" state in that case. + push-to-checkout ~~~~~~~~~~~~~~~~
diff --git a/gitmodules.html b/gitmodules.html index c2fa979..a6bcc7f 100644 --- a/gitmodules.html +++ b/gitmodules.html
@@ -809,9 +809,9 @@ <dd> <p> A remote branch name for tracking updates in the upstream submodule. - If the option is not specified, it defaults to <em>master</em>. A special - value of <code>.</code> is used to indicate that the name of the branch in the - submodule should be the same name as the current branch in the + If the option is not specified, it defaults to the remote <em>HEAD</em>. + A special value of <code>.</code> is used to indicate that the name of the branch + in the submodule should be the same name as the current branch in the current repository. See the <code>--remote</code> documentation in <a href="git-submodule.html">git-submodule(1)</a> for details. </p> @@ -938,7 +938,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/gitmodules.txt b/gitmodules.txt index 67275fd..539b4e1 100644 --- a/gitmodules.txt +++ b/gitmodules.txt
@@ -49,9 +49,9 @@ submodule.<name>.branch:: A remote branch name for tracking updates in the upstream submodule. - If the option is not specified, it defaults to 'master'. A special - value of `.` is used to indicate that the name of the branch in the - submodule should be the same name as the current branch in the + If the option is not specified, it defaults to the remote 'HEAD'. + A special value of `.` is used to indicate that the name of the branch + in the submodule should be the same name as the current branch in the current repository. See the `--remote` documentation in linkgit:git-submodule[1] for details.
diff --git a/gitremote-helpers.html b/gitremote-helpers.html index f6ce01e..6694608 100644 --- a/gitremote-helpers.html +++ b/gitremote-helpers.html
@@ -1048,6 +1048,15 @@ absence of this capability, Git will use <code>--signed-tags=warn-strip</code>. </p> </dd> +<dt class="hdlist1"> +<em>object-format</em> +</dt> +<dd> +<p> + This indicates that the helper is able to interact with the remote + side using an explicit hash algorithm extension. +</p> +</dd> </dl></div> </div> </div> @@ -1078,12 +1087,14 @@ <p> Lists the refs, one per line, in the format "<value> <name> [<attr> …]". The value may be a hex sha1 hash, "@<dest>" for - a symref, or "?" to indicate that the helper could not get the - value of the ref. A space-separated list of attributes follows - the name; unrecognized attributes are ignored. The list ends - with a blank line. + a symref, ":<keyword> <value>" for a key-value pair, or + "?" to indicate that the helper could not get the value of the + ref. A space-separated list of attributes follows the name; + unrecognized attributes are ignored. The list ends with a + blank line. </p> -<div class="paragraph"><p>See REF LIST ATTRIBUTES for a list of currently defined attributes.</p></div> +<div class="paragraph"><p>See REF LIST ATTRIBUTES for a list of currently defined attributes. +See REF LIST KEYWORDS for a list of currently defined keywords.</p></div> <div class="paragraph"><p>Supported if the helper has the "fetch" or "import" capability.</p></div> </dd> <dt class="hdlist1"> @@ -1284,6 +1295,25 @@ </div> </div> <div class="sect1"> +<h2 id="_ref_list_keywords">REF LIST KEYWORDS</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The <em>list</em> command may produce a list of key-value pairs. +The following keys are defined.</p></div> +<div class="dlist"><dl> +<dt class="hdlist1"> +<em>object-format</em> +</dt> +<dd> +<p> + The refs are using the given hash algorithm. This keyword is only + used if the server and client both support the object-format + extension. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> <h2 id="_options">OPTIONS</h2> <div class="sectionbody"> <div class="paragraph"><p>The following options are defined and (under suitable circumstances) @@ -1453,6 +1483,18 @@ remote side does not support this capability, the push will fail. </p> </dd> +<dt class="hdlist1"> +<em>option object-format</em> {<em>true</em>|algorithm} +</dt> +<dd> +<p> + If <em>true</em>, indicate that the caller wants hash algorithm information + to be passed back from the remote. This mode is used when fetching + refs. +</p> +<div class="paragraph"><p>If set to an algorithm, indicate that the caller wants to interact with +the remote side using that algorithm.</p></div> +</dd> </dl></div> </div> </div> @@ -1476,7 +1518,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-08 18:30:54 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/gitremote-helpers.txt b/gitremote-helpers.txt index 93baeeb..6f1e269 100644 --- a/gitremote-helpers.txt +++ b/gitremote-helpers.txt
@@ -238,6 +238,9 @@ `--signed-tags=verbatim` to linkgit:git-fast-export[1]. In the absence of this capability, Git will use `--signed-tags=warn-strip`. +'object-format':: + This indicates that the helper is able to interact with the remote + side using an explicit hash algorithm extension. COMMANDS @@ -257,12 +260,14 @@ 'list':: Lists the refs, one per line, in the format "<value> <name> [<attr> ...]". The value may be a hex sha1 hash, "@<dest>" for - a symref, or "?" to indicate that the helper could not get the - value of the ref. A space-separated list of attributes follows - the name; unrecognized attributes are ignored. The list ends - with a blank line. + a symref, ":<keyword> <value>" for a key-value pair, or + "?" to indicate that the helper could not get the value of the + ref. A space-separated list of attributes follows the name; + unrecognized attributes are ignored. The list ends with a + blank line. + See REF LIST ATTRIBUTES for a list of currently defined attributes. +See REF LIST KEYWORDS for a list of currently defined keywords. + Supported if the helper has the "fetch" or "import" capability. @@ -432,6 +437,18 @@ This ref is unchanged since the last import or fetch, although the helper cannot necessarily determine what value that produced. +REF LIST KEYWORDS +----------------- + +The 'list' command may produce a list of key-value pairs. +The following keys are defined. + +'object-format':: + The refs are using the given hash algorithm. This keyword is only + used if the server and client both support the object-format + extension. + + OPTIONS ------- @@ -516,6 +533,14 @@ transaction. If successful, all refs will be updated, or none will. If the remote side does not support this capability, the push will fail. +'option object-format' {'true'|algorithm}:: + If 'true', indicate that the caller wants hash algorithm information + to be passed back from the remote. This mode is used when fetching + refs. ++ +If set to an algorithm, indicate that the caller wants to interact with +the remote side using that algorithm. + SEE ALSO -------- linkgit:git-remote[1]
diff --git a/gitworkflows.html b/gitworkflows.html index 2953da6..0fe7fe4 100644 --- a/gitworkflows.html +++ b/gitworkflows.html
@@ -832,16 +832,16 @@ <div class="ulist"><ul> <li> <p> -<em>pu</em> (proposed updates) is an integration branch for things that are - not quite ready for inclusion yet (see "Integration Branches" - below). +<em>seen</em> (patches seen by the maintainer) is an integration branch for + things that are not quite ready for inclusion yet (see "Integration + Branches" below). </p> </li> </ul></div> <div class="paragraph"><p>Each of the four branches is usually a direct descendant of the one above it.</p></div> <div class="paragraph"><p>Conceptually, the feature enters at an unstable branch (usually <em>next</em> -or <em>pu</em>), and "graduates" to <em>master</em> for the next release once it is +or <em>seen</em>), and "graduates" to <em>master</em> for the next release once it is considered stable enough.</p></div> </div> <div class="sect2"> @@ -946,7 +946,7 @@ right after the testing, you can even publish this branch, for example to give the testers a chance to work with it, or other developers a chance to see if their in-progress work will be compatible. <code>git.git</code> -has such an official throw-away integration branch called <em>pu</em>.</p></div> +has such an official throw-away integration branch called <em>seen</em>.</p></div> </div> <div class="sect2"> <h3 id="_branch_management_for_a_release">Branch management for a release</h3> @@ -1021,7 +1021,7 @@ described in the previous section.</p></div> </div> <div class="sect2"> -<h3 id="_branch_management_for_next_and_pu_after_a_feature_release">Branch management for next and pu after a feature release</h3> +<h3 id="_branch_management_for_next_and_seen_after_a_feature_release">Branch management for next and seen after a feature release</h3> <div class="paragraph"><p>After a feature release, the integration branch <em>next</em> may optionally be rewound and rebuilt from the tip of <em>master</em> using the surviving topics on <em>next</em>:</p></div> @@ -1061,8 +1061,8 @@ so.</p></div> <div class="paragraph"><p>If you do this, then you should make a public announcement indicating that <em>next</em> was rewound and rebuilt.</p></div> -<div class="paragraph"><p>The same rewind and rebuild process may be followed for <em>pu</em>. A public -announcement is not necessary since <em>pu</em> is a throw-away branch, as +<div class="paragraph"><p>The same rewind and rebuild process may be followed for <em>seen</em>. A public +announcement is not necessary since <em>seen</em> is a throw-away branch, as described above.</p></div> </div> </div> @@ -1225,7 +1225,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/gitworkflows.txt b/gitworkflows.txt index abc0dc6..2db7ba7 100644 --- a/gitworkflows.txt +++ b/gitworkflows.txt
@@ -85,15 +85,15 @@ There is a fourth official branch that is used slightly differently: -* 'pu' (proposed updates) is an integration branch for things that are - not quite ready for inclusion yet (see "Integration Branches" - below). +* 'seen' (patches seen by the maintainer) is an integration branch for + things that are not quite ready for inclusion yet (see "Integration + Branches" below). Each of the four branches is usually a direct descendant of the one above it. Conceptually, the feature enters at an unstable branch (usually 'next' -or 'pu'), and "graduates" to 'master' for the next release once it is +or 'seen'), and "graduates" to 'master' for the next release once it is considered stable enough. @@ -207,7 +207,7 @@ right after the testing, you can even publish this branch, for example to give the testers a chance to work with it, or other developers a chance to see if their in-progress work will be compatible. `git.git` -has such an official throw-away integration branch called 'pu'. +has such an official throw-away integration branch called 'seen'. Branch management for a release @@ -291,7 +291,7 @@ described in the previous section. -Branch management for next and pu after a feature release +Branch management for next and seen after a feature release ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After a feature release, the integration branch 'next' may optionally be @@ -319,8 +319,8 @@ If you do this, then you should make a public announcement indicating that 'next' was rewound and rebuilt. -The same rewind and rebuild process may be followed for 'pu'. A public -announcement is not necessary since 'pu' is a throw-away branch, as +The same rewind and rebuild process may be followed for 'seen'. A public +announcement is not necessary since 'seen' is a throw-away branch, as described above.
diff --git a/howto-index.html b/howto-index.html index 17143f7..cb089d3 100644 --- a/howto-index.html +++ b/howto-index.html
@@ -778,7 +778,7 @@ </li> </ul></div> <div class="paragraph"><p>In this article, JC talks about how he rebases the -public "pu" branch using the core Git tools when he updates +public "seen" branch using the core Git tools when he updates the "master" branch, and how "rebase" works. Also discussed is how this applies to individual developers who sends patches upstream.</p></div> @@ -885,7 +885,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-01 08:49:09 PDT + 2020-07-06 22:33:23 PDT </div> </div> </body>
diff --git a/howto-index.txt b/howto-index.txt index 67bd7ad..ecc16ad 100644 --- a/howto-index.txt +++ b/howto-index.txt
@@ -27,7 +27,7 @@ * link:howto/rebase-from-internal-branch.html[rebase-from-internal-branch] by Junio C Hamano <gitster@pobox.com> In this article, JC talks about how he rebases the -public "pu" branch using the core Git tools when he updates +public "seen" branch using the core Git tools when he updates the "master" branch, and how "rebase" works. Also discussed is how this applies to individual developers who sends patches upstream.
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index e0967a2..c42f192 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:35 PDT + 2020-07-06 22:34:12 PDT </div> </div> </body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index fc5698f..f4c5db5 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html
@@ -831,7 +831,7 @@ </li> <li> <p> -<em>pu</em> branch is used to publish other proposed changes that do +<em>seen</em> branch is used to publish other proposed changes that do not yet pass the criteria set for <em>next</em>. </p> </li> @@ -847,7 +847,7 @@ <li> <p> Usually <em>master</em> contains all of <em>maint</em> and <em>next</em> contains all - of <em>master</em>. <em>pu</em> contains all the topics merged to <em>next</em>, but + of <em>master</em>. <em>seen</em> contains all the topics merged to <em>next</em>, but is rebuilt directly on <em>master</em>. </p> </li> @@ -1099,16 +1099,16 @@ <li> <p> Prepare <em>jch</em> branch, which is used to represent somewhere - between <em>master</em> and <em>pu</em> and often is slightly ahead of <em>next</em>. + between <em>master</em> and <em>seen</em> and often is slightly ahead of <em>next</em>. </p> <div class="literalblock"> <div class="content"> -<pre><code>$ Meta/Reintegrate master..pu >Meta/redo-jch.sh</code></pre> +<pre><code>$ Meta/Reintegrate master..seen >Meta/redo-jch.sh</code></pre> </div></div> <div class="literalblock"> <div class="content"> <pre><code>The result is a script that lists topics to be merged in order to -rebuild 'pu' as the input to Meta/Reintegrate script. Remove +rebuild 'seen' as the input to Meta/Reintegrate script. Remove later topics that should not be in 'jch' yet. Add a line that consists of '### match next' before the name of the first topic in the output that should be in 'jch' but not in 'next' yet.</code></pre> @@ -1204,29 +1204,29 @@ </li> <li> <p> -Rebuild <em>pu</em>. +Rebuild <em>seen</em>. </p> <div class="literalblock"> <div class="content"> -<pre><code>$ Meta/Reintegrate master..pu >Meta/redo-pu.sh</code></pre> +<pre><code>$ Meta/Reintegrate master..seen >Meta/redo-seen.sh</code></pre> </div></div> <div class="literalblock"> <div class="content"> -<pre><code>Edit the result by adding new topics that are not still in 'pu' +<pre><code>Edit the result by adding new topics that are not still in 'seen' in the script. Then</code></pre> </div></div> <div class="literalblock"> <div class="content"> -<pre><code>$ git checkout -B pu jch -$ sh Meta/redo-pu.sh</code></pre> +<pre><code>$ git checkout -B seen jch +$ sh Meta/redo-seen.sh</code></pre> </div></div> <div class="literalblock"> <div class="content"> -<pre><code>When all is well, clean up the redo-pu.sh script with</code></pre> +<pre><code>When all is well, clean up the redo-seen.sh script with</code></pre> </div></div> <div class="literalblock"> <div class="content"> -<pre><code>$ sh Meta/redo-pu.sh -u</code></pre> +<pre><code>$ sh Meta/redo-seen.sh -u</code></pre> </div></div> <div class="literalblock"> <div class="content"> @@ -1234,7 +1234,7 @@ </div></div> <div class="literalblock"> <div class="content"> -<pre><code>$ git branch --no-merged pu</code></pre> +<pre><code>$ git branch --no-merged seen</code></pre> </div></div> <div class="literalblock"> <div class="content"> @@ -1244,7 +1244,7 @@ <div class="content"> <pre><code>At this point, build-test the result for semantic conflicts, and if there are, prepare an appropriate merge-fix first (see -appendix), and rebuild the 'pu' branch from scratch, starting at +appendix), and rebuild the 'seen' branch from scratch, starting at the tip of 'jch'.</code></pre> </div></div> </li> @@ -1263,14 +1263,14 @@ </div></div> <div class="literalblock"> <div class="content"> -<pre><code>This script inspects the history between master..pu, finds tips +<pre><code>This script inspects the history between master..seen, finds tips of topic branches, compares what it found with the current contents in Meta/whats-cooking.txt, and updates that file. -Topics not listed in the file but are found in master..pu are +Topics not listed in the file but are found in master..seen are added to the "New topics" section, topics listed in the file that -are no longer found in master..pu are moved to the "Graduated to +are no longer found in master..seen are moved to the "Graduated to master" section, and topics whose commits changed their states -(e.g. used to be only in 'pu', now merged to 'next') are updated +(e.g. used to be only in 'seen', now merged to 'next') are updated with change markers "<<" and ">>".</code></pre> </div></div> <div class="literalblock"> @@ -1321,7 +1321,7 @@ <li> <p> Each topic is tested individually, and also together with other - topics cooking first in <em>pu</em>, then in <em>jch</em> and then in <em>next</em>. + topics cooking first in <em>seen</em>, then in <em>jch</em> and then in <em>next</em>. Until it matures, no part of it is merged to <em>master</em>. </p> </li> @@ -1394,7 +1394,7 @@ new use of the variable under its old name. When these two topics are merged together, the reference to the variable newly added by the latter topic will still use the old name in the result.</p></div> -<div class="paragraph"><p>The Meta/Reintegrate script that is used by redo-jch and redo-pu +<div class="paragraph"><p>The Meta/Reintegrate script that is used by redo-jch and redo-seen scripts implements a crude but usable way to work this issue around. When the script merges branch $X, it checks if "refs/merge-fix/$X" exists, and if so, the effect of it is squashed into the result of @@ -1415,15 +1415,15 @@ commit that can be squashed into a result of mechanical merge to correct semantic conflicts.</p></div> <div class="paragraph"><p>After finding that the result of merging branch "ai/topic" to an -integration branch had such a semantic conflict, say pu~4, check the +integration branch had such a semantic conflict, say seen~4, check the problematic merge out on a detached HEAD, edit the working tree to fix the semantic conflict, and make a separate commit to record the fix-up:</p></div> <div class="literalblock"> <div class="content"> -<pre><code>$ git checkout pu~4 +<pre><code>$ git checkout seen~4 $ git show -s --pretty=%s ;# double check -Merge branch 'ai/topic' to pu +Merge branch 'ai/topic' to seen $ edit $ git commit -m 'merge-fix/ai/topic' -a</code></pre> </div></div> @@ -1437,9 +1437,9 @@ merge:</p></div> <div class="literalblock"> <div class="content"> -<pre><code>$ git checkout pu~5 ;# the parent of the problem merge +<pre><code>$ git checkout seen~5 ;# the parent of the problem merge $ echo ai/topic | Meta/Reintegrate -$ git diff pu~4</code></pre> +$ git diff seen~4</code></pre> </div></div> <div class="paragraph"><p>This time, because you prepared refs/merge-fix/ai/topic, the resulting merge should have been tweaked to include the fix for the @@ -1450,7 +1450,7 @@ to the integration branch changed the underlying assumption ai/topic branch made (e.g. ai/topic branch added a site to refer to a variable, while the other branch renamed that variable and adjusted -existing use sites), and if you changed redo-jch (or redo-pu) script +existing use sites), and if you changed redo-jch (or redo-seen) script to merge ai/topic branch before the other branch, then the above merge-fix should not be applied while merging ai/topic, but should instead be applied while merging the other branch. You would need @@ -1469,7 +1469,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:35 PDT + 2020-07-06 22:34:12 PDT </div> </div> </body>
diff --git a/howto/maintain-git.txt b/howto/maintain-git.txt index 73be8b4..a67130d 100644 --- a/howto/maintain-git.txt +++ b/howto/maintain-git.txt
@@ -66,7 +66,7 @@ demonstrated to be regression free. New changes are tested in 'next' before merged to 'master'. - - 'pu' branch is used to publish other proposed changes that do + - 'seen' branch is used to publish other proposed changes that do not yet pass the criteria set for 'next'. - The tips of 'master' and 'maint' branches will not be rewound to @@ -76,7 +76,7 @@ of the cycle. - Usually 'master' contains all of 'maint' and 'next' contains all - of 'master'. 'pu' contains all the topics merged to 'next', but + of 'master'. 'seen' contains all the topics merged to 'next', but is rebuilt directly on 'master'. - The tip of 'master' is meant to be more stable than any @@ -229,12 +229,12 @@ series?) - Prepare 'jch' branch, which is used to represent somewhere - between 'master' and 'pu' and often is slightly ahead of 'next'. + between 'master' and 'seen' and often is slightly ahead of 'next'. - $ Meta/Reintegrate master..pu >Meta/redo-jch.sh + $ Meta/Reintegrate master..seen >Meta/redo-jch.sh The result is a script that lists topics to be merged in order to - rebuild 'pu' as the input to Meta/Reintegrate script. Remove + rebuild 'seen' as the input to Meta/Reintegrate script. Remove later topics that should not be in 'jch' yet. Add a line that consists of '### match next' before the name of the first topic in the output that should be in 'jch' but not in 'next' yet. @@ -291,29 +291,29 @@ merged to 'master'. This may lose '### match next' marker; add it again to the appropriate place when it happens. - - Rebuild 'pu'. + - Rebuild 'seen'. - $ Meta/Reintegrate master..pu >Meta/redo-pu.sh + $ Meta/Reintegrate master..seen >Meta/redo-seen.sh - Edit the result by adding new topics that are not still in 'pu' + Edit the result by adding new topics that are not still in 'seen' in the script. Then - $ git checkout -B pu jch - $ sh Meta/redo-pu.sh + $ git checkout -B seen jch + $ sh Meta/redo-seen.sh - When all is well, clean up the redo-pu.sh script with + When all is well, clean up the redo-seen.sh script with - $ sh Meta/redo-pu.sh -u + $ sh Meta/redo-seen.sh -u Double check by running - $ git branch --no-merged pu + $ git branch --no-merged seen to see there is no unexpected leftover topics. At this point, build-test the result for semantic conflicts, and if there are, prepare an appropriate merge-fix first (see - appendix), and rebuild the 'pu' branch from scratch, starting at + appendix), and rebuild the 'seen' branch from scratch, starting at the tip of 'jch'. - Update "What's cooking" message to review the updates to @@ -323,14 +323,14 @@ $ Meta/cook - This script inspects the history between master..pu, finds tips + This script inspects the history between master..seen, finds tips of topic branches, compares what it found with the current contents in Meta/whats-cooking.txt, and updates that file. - Topics not listed in the file but are found in master..pu are + Topics not listed in the file but are found in master..seen are added to the "New topics" section, topics listed in the file that - are no longer found in master..pu are moved to the "Graduated to + are no longer found in master..seen are moved to the "Graduated to master" section, and topics whose commits changed their states - (e.g. used to be only in 'pu', now merged to 'next') are updated + (e.g. used to be only in 'seen', now merged to 'next') are updated with change markers "<<" and ">>". Look for lines enclosed in "<<" and ">>"; they hold contents from @@ -360,7 +360,7 @@ Some observations to be made. * Each topic is tested individually, and also together with other - topics cooking first in 'pu', then in 'jch' and then in 'next'. + topics cooking first in 'seen', then in 'jch' and then in 'next'. Until it matures, no part of it is merged to 'master'. * A topic already in 'next' can get fixes while still in @@ -411,7 +411,7 @@ are merged together, the reference to the variable newly added by the latter topic will still use the old name in the result. -The Meta/Reintegrate script that is used by redo-jch and redo-pu +The Meta/Reintegrate script that is used by redo-jch and redo-seen scripts implements a crude but usable way to work this issue around. When the script merges branch $X, it checks if "refs/merge-fix/$X" exists, and if so, the effect of it is squashed into the result of @@ -431,14 +431,14 @@ correct semantic conflicts. After finding that the result of merging branch "ai/topic" to an -integration branch had such a semantic conflict, say pu~4, check the +integration branch had such a semantic conflict, say seen~4, check the problematic merge out on a detached HEAD, edit the working tree to fix the semantic conflict, and make a separate commit to record the fix-up: - $ git checkout pu~4 + $ git checkout seen~4 $ git show -s --pretty=%s ;# double check - Merge branch 'ai/topic' to pu + Merge branch 'ai/topic' to seen $ edit $ git commit -m 'merge-fix/ai/topic' -a @@ -450,9 +450,9 @@ Then double check the result by asking Meta/Reintegrate to redo the merge: - $ git checkout pu~5 ;# the parent of the problem merge + $ git checkout seen~5 ;# the parent of the problem merge $ echo ai/topic | Meta/Reintegrate - $ git diff pu~4 + $ git diff seen~4 This time, because you prepared refs/merge-fix/ai/topic, the resulting merge should have been tweaked to include the fix for the @@ -464,7 +464,7 @@ to the integration branch changed the underlying assumption ai/topic branch made (e.g. ai/topic branch added a site to refer to a variable, while the other branch renamed that variable and adjusted -existing use sites), and if you changed redo-jch (or redo-pu) script +existing use sites), and if you changed redo-jch (or redo-seen) script to merge ai/topic branch before the other branch, then the above merge-fix should not be applied while merging ai/topic, but should instead be applied while merging the other branch. You would need
diff --git a/howto/new-command.html b/howto/new-command.html index d02f369..a577dde 100644 --- a/howto/new-command.html +++ b/howto/new-command.html
@@ -863,7 +863,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:31 PDT + 2020-07-06 22:34:08 PDT </div> </div> </body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index f6a4d31..7c72ade 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html
@@ -747,8 +747,8 @@ > where Junio C Hamano <junkio@cox.net> told me that... >> Linus Torvalds <torvalds@osdl.org> writes: >> ->> > Junio, maybe you want to talk about how you move patches from your "pu" ->> > branch to the real branches. +>> > Junio, maybe you want to talk about how you move patches from your +>> > "seen" branch to the real branches. >> > Actually, wouldn't this be also precisely for what StGIT is intended to?</code></pre> </div></div> @@ -757,13 +757,13 @@ the kind of task StGIT is designed to do.</p></div> <div class="paragraph"><p>I just have done a simpler one, this time using only the core Git tools.</p></div> -<div class="paragraph"><p>I had a handful of commits that were ahead of master in pu, and I +<div class="paragraph"><p>I had a handful of commits that were ahead of master in <em>seen</em>, and I wanted to add some documentation bypassing my usual habit of -placing new things in pu first. At the beginning, the commit +placing new things in <em>seen</em> first. At the beginning, the commit ancestry graph looked like this:</p></div> <div class="literalblock"> <div class="content"> -<pre><code> *"pu" head +<pre><code> *"seen" head master --> #1 --> #2 --> #3</code></pre> </div></div> <div class="paragraph"><p>So I started from master, made a bunch of edits, and committed:</p></div> @@ -777,39 +777,39 @@ <div class="paragraph"><p>After the commit, the ancestry graph would look like this:</p></div> <div class="literalblock"> <div class="content"> -<pre><code> *"pu" head +<pre><code> *"seen" head master^ --> #1 --> #2 --> #3 \ \---> master</code></pre> </div></div> <div class="paragraph"><p>The old master is now master^ (the first parent of the master). The new master commit holds my documentation updates.</p></div> -<div class="paragraph"><p>Now I have to deal with "pu" branch.</p></div> +<div class="paragraph"><p>Now I have to deal with "seen" branch.</p></div> <div class="paragraph"><p>This is the kind of situation I used to have all the time when Linus was the maintainer and I was a contributor, when you look -at "master" branch being the "maintainer" branch, and "pu" +at "master" branch being the "maintainer" branch, and "seen" branch being the "contributor" branch. Your work started at the tip of the "maintainer" branch some time ago, you made a lot of progress in the meantime, and now the maintainer branch has some other commits you do not have yet. And "git rebase" was written with the explicit purpose of helping to maintain branches like -"pu". You <em>could</em> merge master to pu and keep going, but if you +"seen". You <em>could</em> merge master to <em>seen</em> and keep going, but if you eventually want to cherrypick and merge some but not necessarily all changes back to the master branch, it often makes later operations for <em>you</em> easier if you rebase (i.e. carry forward -your changes) "pu" rather than merge. So I ran "git rebase":</p></div> +your changes) "seen" rather than merge. So I ran "git rebase":</p></div> <div class="literalblock"> <div class="content"> -<pre><code>$ git checkout pu -$ git rebase master pu</code></pre> +<pre><code>$ git checkout seen +$ git rebase master seen</code></pre> </div></div> <div class="paragraph"><p>What this does is to pick all the commits since the current -branch (note that I now am on "pu" branch) forked from the +branch (note that I now am on "seen" branch) forked from the master branch, and forward port these changes.</p></div> <div class="literalblock"> <div class="content"> <pre><code>master^ --> #1 --> #2 --> #3 - \ *"pu" head + \ *"seen" head \---> master --> #1' --> #2' --> #3'</code></pre> </div></div> <div class="paragraph"><p>The diff between master^ and #1 is applied to master and @@ -818,7 +818,7 @@ commits are made similarly out of #2 and #3 commits.</p></div> <div class="paragraph"><p>Old #3 is not recorded in any of the .git/refs/heads/ file anymore, so after doing this you will have dangling commit if -you ran fsck-cache, which is normal. After testing "pu", you +you ran fsck-cache, which is normal. After testing "seen", you can run "git prune" to get rid of those original three commits.</p></div> <div class="paragraph"><p>While I am talking about "git rebase", I should talk about how to do cherrypicking using only the core Git tools.</p></div> @@ -895,7 +895,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:34 PDT + 2020-07-06 22:34:11 PDT </div> </div> </body>
diff --git a/howto/rebase-from-internal-branch.txt b/howto/rebase-from-internal-branch.txt index 02cb5f7..f2e10a7 100644 --- a/howto/rebase-from-internal-branch.txt +++ b/howto/rebase-from-internal-branch.txt
@@ -4,7 +4,7 @@ Subject: Re: sending changesets from the middle of a git tree Date: Sun, 14 Aug 2005 18:37:39 -0700 Abstract: In this article, JC talks about how he rebases the - public "pu" branch using the core Git tools when he updates + public "seen" branch using the core Git tools when he updates the "master" branch, and how "rebase" works. Also discussed is how this applies to individual developers who sends patches upstream. @@ -20,8 +20,8 @@ > where Junio C Hamano <junkio@cox.net> told me that... >> Linus Torvalds <torvalds@osdl.org> writes: >> ->> > Junio, maybe you want to talk about how you move patches from your "pu" ->> > branch to the real branches. +>> > Junio, maybe you want to talk about how you move patches from your +>> > "seen" branch to the real branches. >> > Actually, wouldn't this be also precisely for what StGIT is intended to? -------------------------------------- @@ -33,12 +33,12 @@ I just have done a simpler one, this time using only the core Git tools. -I had a handful of commits that were ahead of master in pu, and I +I had a handful of commits that were ahead of master in 'seen', and I wanted to add some documentation bypassing my usual habit of -placing new things in pu first. At the beginning, the commit +placing new things in 'seen' first. At the beginning, the commit ancestry graph looked like this: - *"pu" head + *"seen" head master --> #1 --> #2 --> #3 So I started from master, made a bunch of edits, and committed: @@ -50,7 +50,7 @@ After the commit, the ancestry graph would look like this: - *"pu" head + *"seen" head master^ --> #1 --> #2 --> #3 \ \---> master @@ -58,31 +58,31 @@ The old master is now master^ (the first parent of the master). The new master commit holds my documentation updates. -Now I have to deal with "pu" branch. +Now I have to deal with "seen" branch. This is the kind of situation I used to have all the time when Linus was the maintainer and I was a contributor, when you look -at "master" branch being the "maintainer" branch, and "pu" +at "master" branch being the "maintainer" branch, and "seen" branch being the "contributor" branch. Your work started at the tip of the "maintainer" branch some time ago, you made a lot of progress in the meantime, and now the maintainer branch has some other commits you do not have yet. And "git rebase" was written with the explicit purpose of helping to maintain branches like -"pu". You _could_ merge master to pu and keep going, but if you +"seen". You _could_ merge master to 'seen' and keep going, but if you eventually want to cherrypick and merge some but not necessarily all changes back to the master branch, it often makes later operations for _you_ easier if you rebase (i.e. carry forward -your changes) "pu" rather than merge. So I ran "git rebase": +your changes) "seen" rather than merge. So I ran "git rebase": - $ git checkout pu - $ git rebase master pu + $ git checkout seen + $ git rebase master seen What this does is to pick all the commits since the current -branch (note that I now am on "pu" branch) forked from the +branch (note that I now am on "seen" branch) forked from the master branch, and forward port these changes. master^ --> #1 --> #2 --> #3 - \ *"pu" head + \ *"seen" head \---> master --> #1' --> #2' --> #3' The diff between master^ and #1 is applied to master and @@ -92,7 +92,7 @@ Old #3 is not recorded in any of the .git/refs/heads/ file anymore, so after doing this you will have dangling commit if -you ran fsck-cache, which is normal. After testing "pu", you +you ran fsck-cache, which is normal. After testing "seen", you can run "git prune" to get rid of those original three commits. While I am talking about "git rebase", I should talk about how
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 27e618e..a0538b7 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:34 PDT + 2020-07-06 22:34:11 PDT </div> </div> </body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index e7ca8ac..a1f1a8c 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:34 PDT + 2020-07-06 22:34:11 PDT </div> </div> </body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index d822062..f2c8fc5 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:34 PDT + 2020-07-06 22:34:11 PDT </div> </div> </body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 232e9f4..7bccd54 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:33 PDT + 2020-07-06 22:34:10 PDT </div> </div> </body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 49b9d3b..9405bdc 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html
@@ -743,7 +743,7 @@ break building Git with GCC 2.95. While they were well-intentioned portability fixes, keeping things working with gcc-2.95 was also important. Here is what I did to revert the change in the <em>master</em> -branch and to adjust the <em>pu</em> branch, using core Git tools and +branch and to adjust the <em>seen</em> branch, using core Git tools and barebone Porcelain.</p></div> <div class="paragraph"><p>First, prepare a throw-away branch in case I screw things up.</p></div> <div class="listingblock"> @@ -823,11 +823,11 @@ <pre><code>$ git diff master..revert-c99</code></pre> </div></div> <div class="paragraph"><p>says nothing.</p></div> -<div class="paragraph"><p>Then we rebase the <em>pu</em> branch as usual.</p></div> +<div class="paragraph"><p>Then we rebase the <em>seen</em> branch as usual.</p></div> <div class="listingblock"> <div class="content"> -<pre><code>$ git checkout pu -$ git tag pu-anchor pu +<pre><code>$ git checkout seen +$ git tag seen-anchor seen $ git rebase master * Applying: Redo "revert" using three-way merge machinery. First trying simple merge strategy to cherry-pick. @@ -845,11 +845,11 @@ * Applying: More documentation updates. First trying simple merge strategy to cherry-pick.</code></pre> </div></div> -<div class="paragraph"><p>The temporary tag <em>pu-anchor</em> is me just being careful, in case <em>git +<div class="paragraph"><p>The temporary tag <em>seen-anchor</em> is me just being careful, in case <em>git rebase</em> screws up. After this, I can do these for sanity check:</p></div> <div class="listingblock"> <div class="content"> -<pre><code>$ git diff pu-anchor..pu ;# make sure we got the master fix. +<pre><code>$ git diff seen-anchor..seen ;# make sure we got the master fix. $ make CC=gcc-2.95 clean test ;# make sure it fixed the breakage. $ make clean test ;# make sure it did not cause other breakage.</code></pre> </div></div> @@ -857,7 +857,7 @@ or tag anymore, so remove them:</p></div> <div class="listingblock"> <div class="content"> -<pre><code>$ rm -f .git/refs/tags/pu-anchor +<pre><code>$ rm -f .git/refs/tags/seen-anchor $ git branch -d revert-c99</code></pre> </div></div> <div class="paragraph"><p>It was an emergency fix, so we might as well merge it into the @@ -883,18 +883,18 @@ <div class="paragraph"><p>And the final repository status looks like this:</p></div> <div class="listingblock"> <div class="content"> -<pre><code>$ git show-branch --more=1 master pu rc +<pre><code>$ git show-branch --more=1 master seen rc ! [master] Revert "Replace zero-length array decls with []." - ! [pu] git-repack: Add option to repack all objects. + ! [seen] git-repack: Add option to repack all objects. * [rc] Merge refs/heads/master from . --- - + [pu] git-repack: Add option to repack all objects. - + [pu~1] More documentation updates. - + [pu~2] Show commits in topo order and name all commits. - + [pu~3] mailinfo and applymbox updates - + [pu~4] Document "git cherry-pick" and "git revert" - + [pu~5] Remove git-apply-patch-script. - + [pu~6] Redo "revert" using three-way merge machinery. + + [seen] git-repack: Add option to repack all objects. + + [seen~1] More documentation updates. + + [seen~2] Show commits in topo order and name all commits. + + [seen~3] mailinfo and applymbox updates + + [seen~4] Document "git cherry-pick" and "git revert" + + [seen~5] Remove git-apply-patch-script. + + [seen~6] Redo "revert" using three-way merge machinery. - [rc] Merge refs/heads/master from . ++* [master] Revert "Replace zero-length array decls with []." - [rc~1] Merge refs/heads/master from . @@ -907,7 +907,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:31 PDT + 2020-07-06 22:34:08 PDT </div> </div> </body>
diff --git a/howto/revert-branch-rebase.txt b/howto/revert-branch-rebase.txt index 149508e..a3e5595 100644 --- a/howto/revert-branch-rebase.txt +++ b/howto/revert-branch-rebase.txt
@@ -15,7 +15,7 @@ break building Git with GCC 2.95. While they were well-intentioned portability fixes, keeping things working with gcc-2.95 was also important. Here is what I did to revert the change in the 'master' -branch and to adjust the 'pu' branch, using core Git tools and +branch and to adjust the 'seen' branch, using core Git tools and barebone Porcelain. First, prepare a throw-away branch in case I screw things up. @@ -104,11 +104,11 @@ says nothing. -Then we rebase the 'pu' branch as usual. +Then we rebase the 'seen' branch as usual. ------------------------------------------------ -$ git checkout pu -$ git tag pu-anchor pu +$ git checkout seen +$ git tag seen-anchor seen $ git rebase master * Applying: Redo "revert" using three-way merge machinery. First trying simple merge strategy to cherry-pick. @@ -127,11 +127,11 @@ First trying simple merge strategy to cherry-pick. ------------------------------------------------ -The temporary tag 'pu-anchor' is me just being careful, in case 'git +The temporary tag 'seen-anchor' is me just being careful, in case 'git rebase' screws up. After this, I can do these for sanity check: ------------------------------------------------ -$ git diff pu-anchor..pu ;# make sure we got the master fix. +$ git diff seen-anchor..seen ;# make sure we got the master fix. $ make CC=gcc-2.95 clean test ;# make sure it fixed the breakage. $ make clean test ;# make sure it did not cause other breakage. ------------------------------------------------ @@ -140,7 +140,7 @@ or tag anymore, so remove them: ------------------------------------------------ -$ rm -f .git/refs/tags/pu-anchor +$ rm -f .git/refs/tags/seen-anchor $ git branch -d revert-c99 ------------------------------------------------ @@ -168,18 +168,18 @@ And the final repository status looks like this: ------------------------------------------------ -$ git show-branch --more=1 master pu rc +$ git show-branch --more=1 master seen rc ! [master] Revert "Replace zero-length array decls with []." - ! [pu] git-repack: Add option to repack all objects. + ! [seen] git-repack: Add option to repack all objects. * [rc] Merge refs/heads/master from . --- - + [pu] git-repack: Add option to repack all objects. - + [pu~1] More documentation updates. - + [pu~2] Show commits in topo order and name all commits. - + [pu~3] mailinfo and applymbox updates - + [pu~4] Document "git cherry-pick" and "git revert" - + [pu~5] Remove git-apply-patch-script. - + [pu~6] Redo "revert" using three-way merge machinery. + + [seen] git-repack: Add option to repack all objects. + + [seen~1] More documentation updates. + + [seen~2] Show commits in topo order and name all commits. + + [seen~3] mailinfo and applymbox updates + + [seen~4] Document "git cherry-pick" and "git revert" + + [seen~5] Remove git-apply-patch-script. + + [seen~6] Redo "revert" using three-way merge machinery. - [rc] Merge refs/heads/master from . ++* [master] Revert "Replace zero-length array decls with []." - [rc~1] Merge refs/heads/master from .
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 0681a53..b7f5e1e 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:33 PDT + 2020-07-06 22:34:10 PDT </div> </div> </body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index bf1de14..2311f3f 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:33 PDT + 2020-07-06 22:34:10 PDT </div> </div> </body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 1ee7f35..0b6d7c1 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html
@@ -912,7 +912,7 @@ <div class="literalblock"> <div class="content"> <pre><code>refs/heads/master junio -+refs/heads/pu junio ++refs/heads/seen junio refs/heads/cogito$ pasky refs/heads/bw/.* linus refs/heads/tmp/.* .* @@ -920,8 +920,8 @@ </div></div> <div class="paragraph"><p>With this, Linus can push or create "bw/penguin" or "bw/zebra" or "bw/panda" branches, Pasky can do only "cogito", and JC can -do master and pu branches and make versioned tags. And anybody -can do tmp/blah branches. The <em>+</em> sign at the pu record means +do master and "seen" branches and make versioned tags. And anybody +can do tmp/blah branches. The <em>+</em> sign at the "seen" record means that JC can make non-fast-forward pushes on it.</p></div> </div> </div> @@ -930,7 +930,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:32 PDT + 2020-07-06 22:34:09 PDT </div> </div> </body>
diff --git a/howto/update-hook-example.txt b/howto/update-hook-example.txt index 89821ec..151ee84 100644 --- a/howto/update-hook-example.txt +++ b/howto/update-hook-example.txt
@@ -179,7 +179,7 @@ whom. The format of each file would look like this: refs/heads/master junio - +refs/heads/pu junio + +refs/heads/seen junio refs/heads/cogito$ pasky refs/heads/bw/.* linus refs/heads/tmp/.* .* @@ -187,6 +187,6 @@ With this, Linus can push or create "bw/penguin" or "bw/zebra" or "bw/panda" branches, Pasky can do only "cogito", and JC can -do master and pu branches and make versioned tags. And anybody -can do tmp/blah branches. The '+' sign at the pu record means +do master and "seen" branches and make versioned tags. And anybody +can do tmp/blah branches. The '+' sign at the "seen" record means that JC can make non-fast-forward pushes on it.
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 8b00f43..c8344d3 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:32 PDT + 2020-07-06 22:34:09 PDT </div> </div> </body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 916ef4c..cb8f22b 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:32 PDT + 2020-07-06 22:34:09 PDT </div> </div> </body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index d3c3e87..d001c54 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-29 16:26:32 PDT + 2020-07-06 22:34:09 PDT </div> </div> </body>
diff --git a/pretty-formats.txt b/pretty-formats.txt index 547a552..84bbc74 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt
@@ -196,8 +196,8 @@ '%ce':: committer email '%cE':: committer email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) -'%cl':: author email local-part (the part before the '@' sign) -'%cL':: author local-part (see '%cl') respecting .mailmap, see +'%cl':: committer email local-part (the part before the '@' sign) +'%cL':: committer local-part (see '%cl') respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) '%cd':: committer date (format respects --date= option) '%cD':: committer date, RFC2822 style
diff --git a/technical/protocol-capabilities.html b/technical/protocol-capabilities.html index c628165..197948e 100644 --- a/technical/protocol-capabilities.html +++ b/technical/protocol-capabilities.html
@@ -913,6 +913,20 @@ </div> </div> <div class="sect1"> +<h2 id="_object_format">object-format</h2> +<div class="sectionbody"> +<div class="paragraph"><p>This capability, which takes a hash algorithm as an argument, indicates +that the server supports the given hash algorithms. It may be sent +multiple times; if so, the first one given is the one used in the ref +advertisement.</p></div> +<div class="paragraph"><p>When provided by the client, this indicates that it intends to use the +given hash algorithm to communicate. The algorithm provided must be one +that the server supports.</p></div> +<div class="paragraph"><p>If this capability is not provided, it is assumed that the only +supported algorithm is SHA-1.</p></div> +</div> +</div> +<div class="sect1"> <h2 id="_symref">symref</h2> <div class="sectionbody"> <div class="paragraph"><p>This parameterized capability is used to inform the receiver which symbolic ref @@ -1087,7 +1101,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-03-10 08:03:13 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/technical/protocol-capabilities.txt b/technical/protocol-capabilities.txt index 2b267c0..36ccd14 100644 --- a/technical/protocol-capabilities.txt +++ b/technical/protocol-capabilities.txt
@@ -176,6 +176,21 @@ purposes, and MUST NOT be used to programmatically assume the presence or absence of particular features. +object-format +------------- + +This capability, which takes a hash algorithm as an argument, indicates +that the server supports the given hash algorithms. It may be sent +multiple times; if so, the first one given is the one used in the ref +advertisement. + +When provided by the client, this indicates that it intends to use the +given hash algorithm to communicate. The algorithm provided must be one +that the server supports. + +If this capability is not provided, it is assumed that the only +supported algorithm is SHA-1. + symref ------
diff --git a/technical/protocol-v2.html b/technical/protocol-v2.html index 4fd3703..183b905 100644 --- a/technical/protocol-v2.html +++ b/technical/protocol-v2.html
@@ -1376,6 +1376,14 @@ a request.</p></div> <div class="paragraph"><p>The provided options must not contain a NUL or LF character.</p></div> </div> +<div class="sect2"> +<h3 id="_object_format"> object-format</h3> +<div class="paragraph"><p>The server can advertise the <code>object-format</code> capability with a value <code>X</code> (in the +form <code>object-format=X</code>) to notify the client that the server is able to deal +with objects using hash algorithm X. If not specified, the server is assumed to +only handle SHA-1. If the client would like to use a hash algorithm other than +SHA-1, it should specify its object-format string.</p></div> +</div> </div> </div> </div> @@ -1383,7 +1391,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-06-25 14:07:29 PDT + 2020-07-06 22:33:22 PDT </div> </div> </body>
diff --git a/technical/protocol-v2.txt b/technical/protocol-v2.txt index 5852f49..e597b74 100644 --- a/technical/protocol-v2.txt +++ b/technical/protocol-v2.txt
@@ -483,3 +483,12 @@ a request. The provided options must not contain a NUL or LF character. + + object-format +~~~~~~~~~~~~~~~ + +The server can advertise the `object-format` capability with a value `X` (in the +form `object-format=X`) to notify the client that the server is able to deal +with objects using hash algorithm X. If not specified, the server is assumed to +only handle SHA-1. If the client would like to use a hash algorithm other than +SHA-1, it should specify its object-format string.
diff --git a/user-manual.html b/user-manual.html index 126cbd8..6a9c1c7 100644 --- a/user-manual.html +++ b/user-manual.html
@@ -188,7 +188,7 @@ origin/man origin/master origin/next - origin/pu + origin/seen origin/todo</pre><p>In this example, "origin" is called a remote repository, or "remote" for short. The branches of this repository are called "remote branches" from our point of view. The remote-tracking branches listed
diff --git a/user-manual.txt b/user-manual.txt index 8336529..fd480b8 100644 --- a/user-manual.txt +++ b/user-manual.txt
@@ -347,7 +347,7 @@ origin/man origin/master origin/next - origin/pu + origin/seen origin/todo ------------------------------------------------